home *** CD-ROM | disk | FTP | other *** search
- FireWorx Crackme #3 Tuturial
-
- ░
- ░ ░ ░ ▄▓
- ▄▄ ░░ ▄▄▄▄■ ░░▀ ■▄▄▄ ▄▄ ▐█▓▌
- ▄▀▀ ▀■ ▀ ░░ ▀ ■▀ ▀▀▄ ██▌
- ■ ▄▄▀▀ ▄▄██▀██▄▄ ▄▄▄███▄▄ ▀▄▄ ■ ▄▄▄███▄▄▐██ ▄▄████▄▄
- ▀▄▄ ▄▀▀ ▄███▀ ▀██▓▄ ▄████▀ ▀██▓▄ ▀▄ ▄▄▀ ▄████▀ ▀██▓██ ▄████▀ ▀██▓▄
- ▀▀ ▄ ▐███▌ ░ ▐██▓▌ ▐████▌ ░ ▐██▓▌ ▄ ▀▀ ▐████▌ ░ ▐████▌ ▐████▌ ▐██▓▌
- ■██▄▄▓▌ ████ ░▒░ ████ █████▄▄▄ ▀▀▀▀ ▐█▄▄█▓ █████ ░ █████ █████▄▄▀▀▀▀▀▀▀
- ▐████ ░░ ▓██▌ ░▒▓▒░ ▐███ ▄▄▄▄▄ ▀▀▀████▄ ████▌ ▓███▌ ▐████ ▓███▌ ░░░░░░
- ░ ███▌ ░ ▐▓███ ░▒▓▒░ ▓███▌▓███▌ ░░░ ▐████ ▐▓██ ▓███▌ ▄▀▀ ▐████ ▓███▌ ░░░░░░░
- ▓██▌ ▐▓███ ░▒░ ▓███▌▐▓███ ░ ▓███▌ ▐▓██ ▐▓███ ▓███▌ ▐▓███
- ▐▓███ ▐▓▓██▌ ░ ▐▓███▌ ▓▓██▌ ▐▓███ ▓███▌ ▓▓██▌ ░ ▐▓███ ▓▓██▌
- ▓▓▓██▌ ■▓▓▓▓██ ░ ▓█████■ ▀▓▓█▄ ▄▓██▀ ▐▓████ ▄ ▀▓██▄ ▄▓██▀ ▀▓██▄
- ▀▓███▄ ▀▀▀██▄ ▄▓█▀▀▀ ▀▀█▀▀ ▄▓▓▓▀▀ ▀▀█▀▀ ▀▀▀▀ js
- ▀▀▀▀▀▄▄ ░ iNSiDE ▄▄▀▀▀▀▀
- ░ ▀▄ ░ ░░ ▄▀
- ░░ ░ ░░
-
- Tutor : duelist
- Data Wrote : April 6, 1999
- Who : Beginner
- Target : CrackMe #3 by FireWorx
- Size : 329kb (!)
- Tools Used : SoftIce, Hiew (optional!)
- Method : Code sniffing
-
-
- -=* Welcome *=-
-
- Well hi there. Although i've been cracking 'crackmes' for long time, i'd
- never written a tuturial for one of those, and this will be my first one
- due to a request from Eternal Bliss :)
-
-
- -=* Protection *=-
-
- Well this crackme is a VERY simple one, and requires only a password, which
- normally (if not always) means that it is hardcoded in the program! (see the
- first aproach for an example of a method that can be used to defeat this kind
- of protections...)
-
-
- -=* 1st Aproach *=-
-
- Since we know already that the password should be hardcoded we can try the
- following:
-
- 1) start hiew and open the crackme exe
-
- 2) press F7 (while in text mode!) and search for 'password'
-
- 3) after 'some' searches, you will reach this section:
-
- PasswordEditCaptionEnter your passwordScramble╪÷┼╔╪╫÷╓â⌠╔╓÷╞⌠âPassword
- RIDERSINTHENIGHTNoOfRetriesLeftH TPF0TPasswordFormPasswordFormLeft
-
- 4) Q: so, what do you think that is strange in all that strings?
- A: ahh... uhh... 'Scramble'?
- Q: yes, can be... and what more?
- A: 'RIDERSINTHENIGHT'?
-
- 5) So, fire up the crackme, click register and enter 'Scramble'... Ops, it
- didn't work! Now, try 'RIDERSINTHENIGHT'... BINGOOOO!
-
- 6) Now that you've done it using this method (sometimes its easier, others is not)
- please continue reading to do it using softice :)
-
-
- -=* 2nd Aproach *=-
-
- Now, we'll do it the ol' fashioned way, that is, Softice!
-
- 1) Fire up the crackme exe, click register, and enter any password you want!
-
- 2) Switch to softice (Control + D) and "bpx hmemcpy" (without the quotes... i use
- hmemcpy because delphi apps don't usually call GetWindowTextA and so)
-
- 3) Before continuing, one tip: in this kind of program, when you're in softice try
- first to dump registers before the calls, don't bother entering them (d eax, etc)
-
- 4) Click 'Ok' and blamm! You're into softice. Now press F12 exactly 12 times to get
- back to the program code, you will arrive here:
-
- .000454B2: E849E3FDFF call .000023800 ;reads pass we entered
- -> .000454B7: 8B45F8 mov eax,[ebp-08] ;our fake pass is here
- .000454BA: 8D55FC lea edx,[ebp-04]
- .000454BD: E84220FCFF call .000007504 ;didn't bother to check
- .000454C2: 8B45FC mov eax,[ebp-04] ;our fake pass, still in eax
- .000454C5: 8B9398000000 mov edx,[ebx+98] ;real pass moving into edx!
- .000454CB: E874E6FBFF call .000003B44 ;type "d edx" without quotes to see real pass!
-
- 5) If you type "d edx" at 454CB you will get the real pass, 'RIDERSINTHENIGHT', remember
- it from the first aproach?!
-
-
- -=* Final Notes *=-
-
- Well hope you liked my first tuturial on a crackme (actually a very basic one!) and i
- soon will release others to be included at Eternal Blisses' page.
-
- I tryed to show you, that there are ALWAYS more than 1 way to get past a protection, the
- difference is that some are more difficult and more time consumpting.